home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 26 / AACD 26.iso / AACD / Programming / ace_gpl_release / include / graphics / Monitor.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-08-28  |  4.8 KB  |  192 lines

  1. #ifndef GRAPHICS_MONITOR_H
  2. #define GRAPHICS_MONITOR_H 1
  3. /*
  4. ** monitor.h for ACE Basic
  5. **
  6. ** Note: Translated to ACE by ConvertC2ACE
  7. **       @ MapMeadow Software, Nils Sjoholm
  8. **
  9. **
  10. ** Date: 09/01/95
  11. **
  12. **
  13. */
  14.  
  15. /*
  16. ** This are the StructPointer defines for monitor.h
  17. */
  18. #ifndef AnalogSignalIntervalPtr
  19. #define AnalogSignalIntervalPtr ADDRESS
  20. #endif
  21. #ifndef MonitorSpecPtr
  22. #define MonitorSpecPtr ADDRESS
  23. #endif
  24. #ifndef SpecialMonitorPtr
  25. #define SpecialMonitorPtr ADDRESS
  26. #endif
  27. /*
  28. ** End of StructPointer defines for monitor.h
  29. */
  30.       
  31. #ifndef EXEC_SEMAPHORES_H
  32. #include    <exec/semaphores.h>
  33. #endif
  34.  
  35. #ifndef GRAPHICS_GFXNODES_H
  36. #include    <graphics/gfxnodes.h>
  37. #endif
  38.  
  39. #ifndef GRAPHICS_GFX_H
  40. #include    <graphics/gfx.h>
  41. #endif
  42.  
  43.  
  44. STRUCT  MonitorSpec
  45.  
  46.     ExtendedNode ms_Node 
  47.     SHORTINT   ms_Flags 
  48.     LONGINT    ratioh 
  49.     LONGINT    ratiov 
  50.     SHORTINT   total_rows 
  51.     SHORTINT   total_colorclocks 
  52.     SHORTINT   DeniseMaxDisplayColumn 
  53.     SHORTINT   BeamCon0 
  54.     SHORTINT   min_row 
  55.     SpecialMonitorPtr  ms_Special 
  56.     SHORTINT   ms_OpenCount 
  57.     ADDRESS   ms_transform 
  58.     ADDRESS   ms_translate 
  59.     ADDRESS   ms_scale 
  60.     SHORTINT   ms_xoffset 
  61.     SHORTINT   ms_yoffset 
  62.     Rectangle ms_LegalView 
  63.     ADDRESS   ms_maxoscan    /* maximum legal overscan */
  64.     ADDRESS   ms_videoscan   /* video display overscan */
  65.     SHORTINT   DeniseMinDisplayColumn 
  66.     LONGINT   DisplayCompatible 
  67.     _List DisplayInfoDataBase 
  68.     SignalSemaphore DisplayInfoDataBaseSemaphore 
  69.     ADDRESS   ms_MrgCop 
  70.     ADDRESS   ms_LoadView 
  71.     ADDRESS   ms_KillView 
  72. END STRUCT 
  73.  
  74. #define TO_MONITOR      0
  75. #define FROM_MONITOR        1
  76. #define STANDARD_XOFFSET    9
  77. #define STANDARD_YOFFSET    0
  78.  
  79. #define MSB_REQUEST_NTSC    0
  80. #define MSB_REQUEST_PAL     1
  81. #define MSB_REQUEST_SPECIAL 2
  82. #define MSB_REQUEST_A2024   3
  83. #define MSB_DOUBLE_SPRITES  4
  84. #define MSF_REQUEST_NTSC    (1)
  85. #define MSF_REQUEST_PAL     (2)
  86. #define MSF_REQUEST_SPECIAL     (4)
  87. #define MSF_REQUEST_A2024       (8)
  88. #define MSF_DOUBLE_SPRITES      (16)
  89.  
  90.  
  91. /* obsolete,  v37 compatible definitions follow */
  92. #define REQUEST_NTSC        (1)
  93. #define REQUEST_PAL     (2)
  94. #define REQUEST_SPECIAL     (4)
  95. #define REQUEST_A2024       (8)
  96.  
  97. #define DEFAULT_MONITOR_NAME    "default.monitor"
  98. #define NTSC_MONITOR_NAME   "ntsc.monitor"
  99. #define PAL_MONITOR_NAME    "pal.monitor"
  100. #define STANDARD_MONITOR_MASK   ( REQUEST_NTSC OR REQUEST_PAL )
  101.  
  102. #define STANDARD_NTSC_ROWS  262
  103. #define STANDARD_PAL_ROWS   312
  104. #define STANDARD_COLORCLOCKS    226
  105. #define STANDARD_DENISE_MAX 455
  106. #define STANDARD_DENISE_MIN 93
  107. #define STANDARD_NTSC_BEAMCON   ( &H0000 )
  108. #define STANDARD_PAL_BEAMCON    ( DISPLAYPAL )
  109.  
  110. #define SPECIAL_BEAMCON ( VARVBLANK OR LOLDIS OR VARVSYNC OR VARHSYNC OR VARBEAM OR CSBLANK OR VSYNCTRUE)
  111.  
  112. #define MIN_NTSC_ROW    21
  113. #define MIN_PAL_ROW 29
  114. #define STANDARD_VIEW_X &H81
  115. #define STANDARD_VIEW_Y &H2C
  116. #define STANDARD_HBSTRT &H06
  117. #define STANDARD_HSSTRT &H0B
  118. #define STANDARD_HSSTOP &H1C
  119. #define STANDARD_HBSTOP &H2C
  120. #define STANDARD_VBSTRT &H0122
  121. #define STANDARD_VSSTRT &H02A6
  122. #define STANDARD_VSSTOP &H03AA
  123. #define STANDARD_VBSTOP &H1066
  124.  
  125. #define VGA_COLORCLOCKS (STANDARD_COLORCLOCKS/2)
  126. #define VGA_TOTAL_ROWS  (STANDARD_NTSC_ROWS*2)
  127. #define VGA_DENISE_MIN  59
  128. #define MIN_VGA_ROW 29
  129. #define VGA_HBSTRT  &H08
  130. #define VGA_HSSTRT  &H0E
  131. #define VGA_HSSTOP  &H1C
  132. #define VGA_HBSTOP  &H1E
  133. #define VGA_VBSTRT  &H0000
  134. #define VGA_VSSTRT  &H0153
  135. #define VGA_VSSTOP  &H0235
  136. #define VGA_VBSTOP  &H0CCD
  137.  
  138. #define VGA_MONITOR_NAME    "vga.monitor"
  139.  
  140. /* NOTE: VGA70 definitions are obsolete - a VGA70 monitor has never been
  141.  * implemented.
  142.  */
  143. #define VGA70_COLORCLOCKS (STANDARD_COLORCLOCKS/2)
  144. #define VGA70_TOTAL_ROWS 449
  145. #define VGA70_DENISE_MIN 59
  146. #define MIN_VGA70_ROW   35
  147. #define VGA70_HBSTRT    &H08
  148. #define VGA70_HSSTRT    &H0E
  149. #define VGA70_HSSTOP    &H1C
  150. #define VGA70_HBSTOP    &H1E
  151. #define VGA70_VBSTRT    &H0000
  152. #define VGA70_VSSTRT    &H02A6
  153. #define VGA70_VSSTOP    &H0388
  154. #define VGA70_VBSTOP    &H0F73
  155.  
  156. #define VGA70_BEAMCON   (SPECIAL_BEAMCON ^ VSYNCTRUE)
  157. #define VGA70_MONITOR_NAME  "vga70.monitor"
  158.  
  159. #define BROADCAST_HBSTRT    &H01
  160. #define BROADCAST_HSSTRT    &H06
  161. #define BROADCAST_HSSTOP    &H17
  162. #define BROADCAST_HBSTOP    &H27
  163. #define BROADCAST_VBSTRT    &H0000
  164. #define BROADCAST_VSSTRT    &H02A6
  165. #define BROADCAST_VSSTOP    &H054C
  166. #define BROADCAST_VBSTOP    &H1C40
  167. #define BROADCAST_BEAMCON   ( LOLDIS OR CSBLANK )
  168. #define RATIO_FIXEDPART 4
  169. #define RATIO_UNITY (16)
  170.  
  171. STRUCT  AnalogSignalInterval
  172.  
  173.     SHORTINT   asi_Start 
  174.     SHORTINT   asi_Stop 
  175. END STRUCT 
  176.  
  177. STRUCT  SpecialMonitor
  178.  
  179.     ExtendedNode spm_Node 
  180.     SHORTINT   spm_Flags 
  181.     ADDRESS   do_monitor 
  182.     ADDRESS   reserved1 
  183.     ADDRESS   reserved2 
  184.     ADDRESS   reserved3
  185.     AnalogSignalInterval hblank 
  186.     AnalogSignalInterval vblank 
  187.     AnalogSignalInterval hsync 
  188.     AnalogSignalInterval vsync 
  189. END STRUCT 
  190.  
  191. #endif  /* GRAPHICS_MONITOR_H */
  192.